[P3][Beta] Fix shiny Pokemon being displayed before shiny colours are loaded #4843
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What are the changes the user will see?
The game should correctly wait for a shiny Pokemon's colours to be loaded before starting the battle and displaying the Pokemon.
Why am I making these changes?
Fixing a bug recently introduced by #4315.
@podarsmarty You mentioned in your PR #4315 that you "noticed some weirdness with experimental variation loading", would this PR fix those issues?
What are the changes from a developer perspective?
The code for loading shiny sprites now properly awaits
this.populateVariantColorCache(...)
.How to test the changes?
To simulate sprites taking a long time to load, replace the following line of code:
pokerogue/src/battle-scene.ts
Line 704 in f2a2281
with the following line of code:
return new Promise<void>((resolve => setTimeout(() => resolve(), 5000))).then(() => fetch(url, init));
Screenshots/Videos
Before the changes: The game does not wait to load Shiny Etevern
20241110.Before.Fix.Variant.mp4
After the changes: The game waits to load Shiny Etevern
20241110.After.Fix.Variant.mp4
Checklist
beta
as my base branch[ ] If I have text, did I make it translatable and add a key in the English locale file(s)?npm run test
)